Hành trình từ một struct đến một Kiểu Dữ liệu Trừu tượng (ADT) đánh dấu sự chuyển đổi từ một "Hộp Kính", nơi mọi dây dẫn bên trong đều lộ ra, sang một "Hộp Đen" nơi mà giao diện được tách biệt khỏi thực thi. Sự chuyển đổi này đảm bảo bọc kín dữ liệu: người dùng tương tác với các hàm như read hoặc combine mà không cần biết cách doanh thu được tính toán hay lưu trữ.
1. Kiến trúc Lớp
Mỗi lớp xác định một định danh kiểu duy nhất. Ngay cả khi hai lớp có các thành viên giống nhau, C++ vẫn coi chúng là không tương thích. Sử dụng typedef và khai báo trước (ví dụ, class Screen;) cho phép chúng ta thiết kế các mối quan hệ phức tạp trong khi vẫn duy trì tính trừu tượng. Chúng ta thường sử dụng phiên bản tổng hợp của các hàm khởi tạo, ví dụ như Sales_data() = default;, để duy trì sự tiện lợi của các kiểu tích hợp sẵn ($$total = trans;$$).
2. Hàm Giao diện Không Phải Thành Viên
Các hàm như read là Hàm Liên quan đến Lớp nhưng Không phải Thành viên. Chúng là một phần của giao diện nhưng không phải là thành viên của lớp, thường yêu cầu sự thân thiết để truy cập dữ liệu bảo mật.